<?php
namespace app\index\controller;

use think\Db;
use think\Session;
use think\Controller;

/**
 * Class Guanfang
 * @package app\index\controller
 * 官方账号控制器
 * index  主页信息
 * add  添加官方账号方法
 * che  撤销官方账号方法
 */
class Guanfang extends Controller
{
    //官方账户主页信息
    public function index()
    {
        $arr = db('user')
            ->join('f_real','f_real.uid=f_user.uid')
            ->where('gflg', '=', 1)
            ->field('f_user.*,f_real.rflg,f_real.starttime,f_real.stoptime')
            ->select();
        return view('guanfang', ['arr' => $arr]);
    }

    //添加官方账户
    public function add()
    {
        $time=date('Y-m-d H:i:s');
        //接收输入框的数据
        $yname = input('yname');
        //根据用户输入值查询数据库
        $arr = db('user')->where('uid', '=', $yname)->find();
        //判读是否为黑名单
        if($arr) {
            if ($arr['uflg'] == 0) {
                return json(['code' => 2, 'msg' => '此用户为黑名单，请解锁后添加']);
            } elseif($arr['gflg']==1){ 
            	return json(['code' => 2, 'msg' => '此用户已为官方账户']);
            }else{
              $where['uid']=array('neq',$arr['uid']);
              //为所有用户添加关注
              $ar=db('fans')->where($where)->select();  
              foreach($ar as $v)
              {
                $i=$arr['uid'].',';
                $c=$v['uid'].',';
                $a= strpos($v['guid'],$i);
                if($a==false)
                {
                  $b=explode(',',$v['guid']);
                  if(!in_array($arr['uid'],$b))
                  {
                    $rs=db('fans')->where('uid',$v['uid'])->update(['guid'=>$v['guid'].$i]); 
                    $rb=db('ribiao')->insert([
                       'uid'=>$v['uid'],
                       'bid'=>$arr['uid'],
                       'createtime'=>$time,
                       'zhaungtai'=>1
                      ]);                   
                  }
                  $im[]=$v['uid'];
                }                 
              }
              $im=implode(',',$im).',';
              $rb=db('fans')->where('uid',$arr['uid'])->update(['fuid'=>$im]);                                   
                //判断是否存在此用户，存在则变成官方用户
              $box = db('user')
                    ->where('f_user.uid', $arr['uid'])
                    ->update([
                        'gflg' => 1
                    ]);
                if ($box) {
                    return 1;
                } else {
                    return 0;
                }
            }
        }else{
            return view('guanfang');
        }
    }

    //撤销官方账户
    public function che()
    {
        //接收前台按钮传输的code值
        $uid=input('uid');//dump($uid);die;
      	$i=$uid.',';//1,
        $ar=db('fans')->where('uid','neq',$uid)->select();
     	foreach($ar as $v)
        {
            $rs=db('fans')->where('uid',$v['uid'])->update(['guid'=>str_replace($i,'',$v['guid'])]); 
        }
        $rb=db('ribiao')->where('bid',$uid)->delete();	
        $re=db('fans')->where('uid',$uid)->update(['fuid'=>'']);//dump($re);die;
        //利用值判断条件是否成立并且修改数据
        $arr=db('user')
            ->where('uid',$uid)
            ->update(['gflg'=>0]);
        if($arr){
            return 1;
        }else{
            return 0;
        }
    }
}